package com.fushenlan.epidemicControl.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fushenlan.commons.GeneralResponse;
import com.fushenlan.dto.*;
import com.fushenlan.po.NucleinDetectionApplyRecord;
import com.github.pagehelper.Page;
import com.google.zxing.WriterException;

import java.io.File;
import java.io.IOException;
import java.util.List;

/**
* @author Administrator
* @description 针对表【nuclein_detection_apply_record(核酸检测申请记录表)】的数据库操作Service
* @createDate 2022-04-20 22:33:26
*/
public interface NucleinDetectionApplyRecordService extends IService<NucleinDetectionApplyRecord> {

    GeneralResponse<PersonalDetectionRespDTO> personalDetection();

    GeneralResponse<List<PersonalDetectionResultRespDTO>> personalDetectionResult( Long recordId);

    GeneralResponse personalDetectionResultCommit(List<PersonalDetectionResultRespDTO> personalDetectionResultRespDTOS) throws Exception;

    GeneralResponse<NeighborhoodDetectionCensusRespDTO> neighborhoodDetectionCensus();

    GeneralResponse<List<PersonalInfoRespDTO>> notTransportCensus( String name, Long community, Integer status);

    GeneralResponse<NeighborhoodDetectionCensusRespDTO> communityDetectionCensus(Long community);

    GeneralResponse<IPage<PersonalInfoRespDTO>> communityDetectionInfo(Long detectionId, Long community, String name, Integer status, Integer pageSize, Integer pagerNum);

    GeneralResponse personalStatusCommit(PersonalStatusCommitReqDTO personalStatusCommitReqDTO);

    GeneralResponse<List<PersonalInfoRespDTO>> closeContactInfo(Long userId,Long detectionId);

    GeneralResponse<List<CommunityDTO>> getCommunityList(Long userId);

    GeneralResponse<String> getQRCode(Long detectionId) throws IOException, WriterException;

    GeneralResponse personalDetectionCommit(List<PersonalDetectionResultRespDTO> personalDetectionResultRespDTOS);
}
